import java.util.Arrays;

public class Test {

    public static void main(String[] args) {
        int[][] arr = new int[][]{
                {1, 2, 3, 4},
                {5, 6, 7, 8},
                {9, 10, 11, 12}
        };
        for (int row = 0; row < arr.length; row++) {
            for (int col = 0; col < arr[row].length; col++) {
                System.out.printf("%d\t", arr[row][col]);
            }
            System.out.println("");
        }
    }


//    public static void main(String[] args) {
//        int[] array = {1,2,3,4,5};
//        reverse(array);
//        System.out.println(Arrays.toString(array));
//    }
//    public static void reverse(int[] array){
//        int left = 0;
//        int right = array.length-1;
//        for (int i = 0; i < array.length; i++) {
//            if (left < right) {
//                int tmp = array[left];
//                array[left] = array[right];
//                array[right] = tmp;
//                left++;
//                right--;
//            }
//        }
//    }

//    public static void main(String[] args) {
//        int[] array = {15,2,64,3,1,88,99,14};
//        bubbleSort(array);
//        System.out.println(Arrays.toString(array));
//    }
//    public static void bubbleSort(int[] array){
//        for (int i = 0; i < array.length; i++) {
//            for (int j = i; j < array.length; j++) {
//                int tmp = 0;
//                if(array[i] < array[j]){
//                    tmp = array[i];
//                    array[i] = array[j];
//                    array[j] = tmp;
//                }
//            }
//        }
//    }

//    public static void main(String[] args) {
//        int[] array = {11,22,33,44,55};
//        int target = 55;
//        int i = binarySearch(array,target);
//        if (i == -1){
//            System.out.println("没有找到这个元素！");
//        }else {
//            System.out.println("这个元素的下标是："+i);
//        }
//    }
//    public static int binarySearch(int[] array,int target){
//        int i = 0;
//        int j = array.length-1;
//        int middle = 0;
//        while(i <= j){
//            middle = (i+j)/2;
//            if(array[middle] == target){
//                return middle;
//            }else if(array[middle] > target){
//                j = middle-1;
//            }else if(array[middle] < target){
//                i = middle+1;
//            }
//        }
//        return -1;
//    }

//    public static int orderSearch(int[] array,int target){
//        for (int i = 0; i < array.length; i++) {
//            if(array[i] == target){
//                return i;
//            }
//        }
//        return -1;
//    }

//    public static void main(String[] args) {
//        int[] array = {1,2,3,4,5};
//        double ret = average(array);
//        System.out.println(ret);
//    }
//    public static double average(int[] array){
//        int sum = 0;
//        for (int x : array) {
//            sum += x;
//        }
//        return sum/array.length;
//    }

//    public static void main(String[] args) {
//        // newArr和arr引用的是同一个数组
//        // 因此newArr修改空间中内容之后，arr也可以看到修改的结果
//        int[] arr = {1, 2, 3, 4, 5, 6};
//        int[] newArr = arr;
//        newArr[0] = 10;
//        System.out.println("newArr: " + Arrays.toString(arr));
//        // 使用Arrays中copyOf方法完成数组的拷贝：
//        // copyOf方法在进行数组拷贝时，创建了一个新的数组
//        // arr和newArr引用的不是同一个数组
//        arr[0] = 1;
//        newArr = Arrays.copyOf(arr, arr.length);
//        System.out.println("newArr: " + Arrays.toString(newArr));
//        // 因为arr修改其引用数组中内容时，对newArr没有任何影响
//        arr[0] = 10;
//        System.out.println("arr: " + Arrays.toString(arr));
//        System.out.println("newArr: " + Arrays.toString(newArr));
//        // 拷贝某个范围.
//        int[] newArr2 = Arrays.copyOfRange(arr, 2, 4);
//        System.out.println("newArr2: " + Arrays.toString(newArr2));
//    }
//    public static void main(String[] args) {
//        int[] array = {1,2,3,4,5};
//        String newArray = Arrays.toString(array);
//        System.out.println(newArray);
//    }

//    public static void main(String[] args) {
//        int[] array = {1,2,3,4,5};
//        func(array);
//        System.out.println(Arrays.toString(array));
//    }
//    public static int[] func(int[] array){
//        for (int i = 0; i < array.length; i++) {
//            array[i] = array[i] + 1;
//        }
//        return array;
//    }
//    public static void main(String[] args) {
//        int num = 0;
//        func(num);
//        System.out.println("num = " + num);
//    }
//    public static void func(int x) {
//        x = 10;
//        System.out.println("x = " + x);
//    }
//    public static void main(String[] args) {
//        int[] num = {10};
//        func(num);
//        System.out.println("num[0] = " + num[0]);
//    }
//    public static void func(int[] x) {
//        x[0] = 0;
//        System.out.println("x[0] = " + x[0]);
//    }
// 执行结果
//        x[0] = 10;
//        num[0] = 0;

//    public static void main(String[] args) {
//        int[] array1 = new int[3];
//        array1[0] = 10;
//        array1[1] = 20;
//        array1[2] = 30;
//        int[] array2 = new int[]{1,2,3,4,5};
//        array2[0] = 100;
//        array2[1] = 200;
//        array1 = array2;
//        array1[2] = 300;
//        array1[3] = 400;
//        array2[4] = 500;
//        for (int i = 0; i < array2.length; i++) {
//            System.out.println(array2[i]);
//        }
//    }
//    public static void main(String[] args) {
//        int a = 10;
//        int b = 20;
//        System.out.println(a);
//        System.out.println(b);
//        int[] array = {10,20};
//        System.out.println(array);
//    }

//    public static void main(String[] args) {
//        //for-each循环示例
//        int[] array = {1,2,3,4,5};
//        for (int x : array) {
//            System.out.print(x+" ");
//        }
//    }
//    public static void main(String[] args) {
//        int[] array = new int[]{10,20,30,40,50};
//        System.out.println(array[0]);
//        System.out.println(array[1]);
//        System.out.println(array[2]);
//        //修改元素
//        array[0] = 90;
//        System.out.println(array[0]);
//    }

//    public static void main(String[] args) {
//        int[] array1 = new int[10];     //创建一个可以容纳10个元素的int型数组
//        double[] array2 = new double[5];//创建一个可以容纳5个元素的double型数组
//        String[] array3 = new String[8];//创建一个可以容纳8个元素的字符串型数组
//    }

//    public static void main(String[] args) {
//        int math1 = 88;
//        int math2 = 90;
//        int math3 = 85;
//        int math4 = 93;
//        int math5 = 91;
//
//        System.out.println(math1);
//        System.out.println(math2);
//        System.out.println(math3);
//        System.out.println(math4);
//        System.out.println(math5);
//    }
}
